Systems have been developed that employ two geocoding data sets to attempt to provide the correct latitude and longitude as well as street when a given address for a specific location. These systems are employed where the geographic location of an address is needed, for example, to determine the address for purposes of routing and dispatch to the address.
The geocoding data sets are processed by a geocoding engine. This is a specialized matching engine that utilizes a textual representation of an address as input. The engine matches the address against a data set of geographic data and uses algorithms to determine the location of the input address. The engine returns the location as a coordinate (longitude-latitude pair) referred to as a geocode and, depending on the particular system, may also return a more complete and accurate address based on an address hygiene function.
Geocoding data sets used for the above purposes include point level or parcel level geographic data sets and centerline geographic data sets. Point level or parcel level data sets are data sets where a single latitude and longitude is provided in each point level record for a specific address. Centerline data sets are data sets where a centerline is provided, such as for a street, and represents a range of addresses on the street. Interpolation is employed to relate the centerline to a specific address to establish a single latitude and longitude. Each segment record contains end points for the segment and may also contain shape points the help provide information about the shape of the segment by providing sub-segment information where a straight line between the two segment end points does not sufficiently reflect the actual street shape. A series of street segments in a given area reflect the street network for that area.
Address geocoding systems employ methods that now use both point and street centerline data sets. The geocodes from point datasets are more accurate since they locate a property exactly. However, there are problems in which it is necessary to obtain a geocode on the centerline of the proper adjacent street. Examples include routing and dispatching problems. The current method of returning a street centerline geocode is to interpolate the address location based on a potential range of addresses on the street. This technique returns values that may not match the ground truth represented by the point level data.
Actual ranges of addresses on a street are often different from potential ranges of addresses on a block face reflected in segment data records. One refinement to the interpolation process is to replace the original range of addresses with the true range based on the point level data. This process works well for house numbers that are placed uniformly and rationally along the street. However many examples exist where simply correcting the address range will not suffice since the segment address range may differ from the actual address range or not exist as may be the case, for example, with parks and certain commercial installations.
The problem may be further compounded because although a geocode is very accurate in terms of positioning, the accurate nature may introduce issues when these point geocodes are utilized in some solutions, for example in routing and dispatch applications. The inability to tie a point geocode to its parent street segment is a major issue. This impacts routing and dispatch applications as they rely on the street network underlying the point data and cannot determine which street is the parent street segment for a given point. Solutions therefore may end up in an ambiguous routing or dispatch situation where accurate routes or directions cannot be created due to the vagaries inherent in using a point geocode.
Approaches have been developed that project the point geocodes onto the street centerlines. One technique projecting from a point dataset is to take the point geocode and then search for the closest street segment and compute the projection on that segment. Unfortunately, geographic searches such as this can be time consuming. In addition, a purely geographic search is subject to error since many locations are closer to neighboring centerlines than to the street on which their address matches.